{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Baseline examples\n",
    "\n",
    "Charles Le Losq\n",
    "\n",
    "July 2017\n",
    "\n",
    "Examples of using the baseline function with the ALS algorithm from Eilers and Boelens 2005\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\u001b[1m\u001b[34mINFO: Recompiling stale cache file /Users/charles/.julia/lib/v0.5/Spectra.ji for module Spectra.\n",
      "\u001b[0m"
     ]
    }
   ],
   "source": [
    "using Spectra\n",
    "using PyPlot"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we import one of the Raman spectrum from the example data folder, and we plot it to have a nice look at it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj8AAAG0CAYAAADdM0axAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XlYVPX+B/D3wICybwqIiPuC+46U5kYqrqWVC9c0TW+pldriNbcWTW9X28zKbjet3C1zyaVQS8wV3HNfEBcETAQCZJ3z+4PfOc2ZBWdgzpkB3q/n4WnmzJkz3yGB93y+m0YQBAFEREREVYSTvRtAREREpCaGHyIiIqpSGH6IiIioSmH4ISIioiqF4YeIiIiqFIYfIiIiqlIYfoiIiKhKYfghIiKiKoXhh4iIiKoUhh8iIiKqUhh+iIiIqErR2rsBjkCn0yE5ORleXl7QaDT2bg4RERFZQBAE/PXXXwgJCYGTk+X1HIYfAMnJyahTp469m0FERERlcPPmTYSGhlp8PsMPAC8vLwAl3zxvb287t4aIiIgskZWVhTp16kh/xy3F8ANIXV3e3t4MP0RERBWMtUNWOOCZiIiIqhSGHyIiIqpSGH6IiIioSuGYHyIiojLS6XQoKCiwdzMqLRcXFzg7O9v8ugw/REREZVBQUIDExETodDp7N6VS8/X1RXBwsE3X4WP4ISIispIgCLhz5w6cnZ1Rp04dqxbYI8sIgoDc3FykpaUBAGrVqmWzazP8EBERWamoqAi5ubkICQmBu7u7vZtTabm5uQEA0tLSEBgYaLMuMEZVIiIiKxUXFwMAXF1d7dySyk8Ml4WFhTa7JsMPERFRGXE/SOUp8T1m+CEiIqIqheGHiIiIMHbsWDzxxBOqv+5bb72Ftm3bqvqaHPBMRERE+PjjjyEIgr2boQqGHyKym9zcXLi5uXHcBJED8PHxsXcTVMNuLyKyi4sXL8Lf3x8vv/yyvZtCVKV8//33aNWqFdzc3BAQEICoqCjk5OQYdXv99ddfiImJgYeHB2rVqoUPP/wQPXr0wNSpU6Vz6tWrh/feew/jxo2Dl5cXwsLC8OWXX8peb8aMGWjSpAnc3d3RoEEDzJkzx6Yzt8qClR8isosFCxYgPz8fn376KZYuXWrv5hCVi7ggnz24u7tbXD29c+cORo4ciffffx9PPvkk/vrrL+zfv99kd9f06dNx4MABbN26FUFBQZg7dy6OHz9uND5nyZIlePfdd/Hmm2/i+++/x4svvoju3bujadOmAAAvLy+sXLkSISEhOHPmDCZMmAAvLy+88cYb5X/zZcTwQ0R2UVXGFlDVkJubC09PT7u8dnZ2Njw8PCw6986dOygqKsLQoUNRt25dAECrVq2Mzvvrr7/wzTffYM2aNejduzcAYMWKFQgJCTE6t3///pg0aRKAkirPhx9+iF9//VUKP7Nnz5bOrVevHl577TWsW7eO4YeIqh79T6oFBQVcLI5IBW3atEHv3r3RqlUr9O3bF3369MFTTz0FPz8/2XnXrl1DYWEhOnfuLB3z8fGRAo2+1q1bS7c1Gg2Cg4OlLSkAYP369fjkk09w9epVZGdno6ioCN7e3gq8O8sx/BCRXejvhJ2amoo6derYsTVE5ePu7o7s7Gy7vbalnJ2dERsbi4MHD+KXX37B0qVLMWvWLBw5cqTMr+/i4iK7r9FopM1eDx06hJiYGLz99tvo27cvfHx8sG7dOixZsqTMr2cLDD9EZBf6nwxTUlIYfqhC02g0Fnc92ZtGo8Gjjz6KRx99FHPnzkXdunXx448/ys5p0KABXFxcEB8fj7CwMABAZmYmLl26hMcee8zi1zp48CDq1q2LWbNmSceSkpJs80bKgeGHiOwiNTVVup2SkmLHlhBVHUeOHMGePXvQp08fBAYG4siRI7h79y7Cw8Nx+vRp6TwvLy+MGTMGr7/+Ovz9/REYGIh58+bBycnJqqUpGjdujBs3bmDdunXo1KkTtm/fbhS07IFT3YnILvQDD8MPkTq8vb0RFxeH/v37o0mTJpg9ezaWLFmC6Ohoo3M/+OADREZGYuDAgYiKisKjjz6K8PBwVK9e3eLXGzx4MKZNm4YpU6agbdu2OHjwIObMmWPLt1QmGoFTLpCVlQUfHx9kZmbafRAWUVVQUFCAatWqSffffvttzJ07144tIrJOXl4eEhMTUb9+favCQEWWk5OD2rVrY8mSJRg/frxqr1va97qsf7/tWvmJi4vDoEGDEBISAo1Gg82bN8sez87OxpQpUxAaGgo3Nzc0b94cX3zxheycvLw8TJ48GQEBAfD09MSwYcNk5XQicjz6430AVn6IHNGJEyewdu1aXL16FcePH0dMTAwAYMiQIXZuWfnZNfzk5OSgTZs2WLZsmcnHp0+fjl27dmHVqlU4f/48pk6diilTpmDr1q3SOdOmTcO2bduwceNG7Nu3D8nJyRg6dKhab4GIysAw7DD8EDmmxYsXo02bNtIq0Pv370eNGjXs3axys+uA5+joaJP9jKKDBw9izJgx6NGjBwBg4sSJWL58OY4ePYrBgwcjMzMT//vf/7BmzRr06tULQMkiTOHh4Th8+DC6dOmixtsgIisZVmcZfogcT7t27XDs2DF7N0MRDj3g+ZFHHsHWrVtx+/ZtCIKAX3/9FZcuXUKfPn0AAMeOHUNhYSGioqKk5zRr1gxhYWE4dOiQ2evm5+cjKytL9kVE6hHDjrgi7r179+zZHCKqYhw6/CxduhTNmzdHaGgoXF1d0a9fPyxbtkxaYyAlJQWurq7w9fWVPS8oKKjUT5ILFy6Ej4+P9MX1RYjUJVZ+WrZsCQD4888/7dkcojLjnCHlKfE9dvjwc/jwYWzduhXHjh3DkiVLMHnyZOzevbtc1505cyYyMzOlr5s3b9qoxURkCfHDSYsWLQAA9+/fR3FxsT2bRGQVZ2dnAPKVykkZ4oaxhitJl4fDLnL44MEDvPnmm/jxxx8xYMAAACX7h5w8eRKLFy9GVFQUgoODUVBQgIyMDFn1JzU1FcHBwWavXa1aNdk0WyJSl1j5CQ8PB1Dyye7+/fuVYiAlVQ1arRbu7u64e/cuXFxc4OTk0LWECkkQBOTm5iItLQ2+vr5S4LQFhw0/hYWFKCwsNPoH5ezsLO0Z0qFDB7i4uGDPnj0YNmwYAODixYu4ceMGIiMjVW8zEVlGrPyEhoZKa3Tcu3eP4YcqDI1Gg1q1aiExMdEhtmuozHx9fUstaJSFXcNPdnY2rly5It1PTEzEyZMn4e/vj7CwMHTv3h2vv/463NzcULduXezbtw/ffvstPvjgAwAlO8yOHz8e06dPh7+/P7y9vfHSSy8hMjKSM72IHJhY+QkODkZAQAAyMzPx559/mtwxmshRubq6onHjxuz6UpCLi4tNKz4iu4afhIQE9OzZU7o/ffp0AMCYMWOwcuVKrFu3DjNnzkRMTAzS09NRt25dLFiwAC+88IL0nA8//BBOTk4YNmwY8vPz0bdvX3z22WeqvxcispxY+QkKCkKNGjVw7do1zviiCsnJyanKrPBcmdg1/PTo0aPUUdzBwcFYsWJFqdeoXr06li1bZnahRCJyLHl5ecjMzATwd+UH4IwvIlIPR2gRkarELq9q1arBx8dHGufDyg8RqYXhh4hUpd/lpdFoWPkhItUx/BCRqsRNTYOCggCAlR8iUh3DDxGpKicnBwDg5eUFAKz8EJHqGH6ISFV5eXkAIM2QEcMPKz9EpBaGHyJSlWH4ETc3FZewJyJSGsMPEalKDD/iFjNiCBKPExEpjeGHiFRlWPkR//vgwQO7tYmIqhaGHyJSVX5+PoC/Q4+bmxsAVn6ISD0MP0SkKnOVH4YfIlILww8RqYrdXkRkbww/RKQqw/Cj3+1V2l5/RES2wvBDRKoyN9sLAAoKCuzSJiKqWhh+iEhVhgOe9cMPu76ISA0MP0SkKsNuL1dXV2g0GtljRERKYvghIlUZhh+NRsMZX0SkKoYfIlKVYfgB/h70zG4vIlIDww8RqcpwwDPAtX6ISF0MP0SkKsMBz/q3GX6ISA0MP0SkKnZ7EZG9MfwQkapMhR9WfohITQw/RKSq0sIPKz9EpAaGHyJSlakBz9zZnYjUxPBDRKpitxcR2RvDDxGpqrTZXuz2IiI1MPwQkWqKiopQXFwMwPRsL1Z+iEgNDD9EpBr9cMNuLyKyF4YfIlKNfrgxtcIzu72ISA0MP0SkGjH8uLi4wMnp718/7PYiIjUx/BCRakwNdta/z/BDRGpg+CEi1Zia5g5wewsiUhfDDxGpxlz4YeWHiNTE8ENEqjG1ujPA8ENE6rJr+ImLi8OgQYMQEhICjUaDzZs3G51z/vx5DB48GD4+PvDw8ECnTp1w48YN6fG8vDxMnjwZAQEB8PT0xLBhw5Camqrm2yAiC7Hbi4gcgV3DT05ODtq0aYNly5aZfPzq1avo2rUrmjVrht9++w2nT5/GnDlzZL84p02bhm3btmHjxo3Yt28fkpOTMXToULXeAhFZgd1eROQItPZ88ejoaERHR5t9fNasWejfvz/ef/996VjDhg2l25mZmfjf//6HNWvWoFevXgCAFStWIDw8HIcPH0aXLl2UazwRWc3cbC93d3cAJR+IiIiU5rBjfnQ6HbZv344mTZqgb9++CAwMREREhKxr7NixYygsLERUVJR0rFmzZggLC8OhQ4fMXjs/Px9ZWVmyLyJSnrnKj4+PD4CSDzREREpz2PCTlpaG7OxsLFq0CP369cMvv/yCJ598EkOHDsW+ffsAACkpKXB1dYWvr6/suUFBQUhJSTF77YULF8LHx0f6qlOnjqLvhYhKmAs/4s9wRkaG6m0ioqrHYcOPTqcDAAwZMgTTpk1D27Zt8a9//QsDBw7EF198Ua5rz5w5E5mZmdLXzZs3bdFkInoIc7O9/Pz8AJSEH0EQVG8XEVUtDht+atSoAa1Wi+bNm8uOh4eHS7O9goODUVBQYPRpMTU1FcHBwWavXa1aNXh7e8u+iEh5D6v8FBQUcNAzESnOYcOPq6srOnXqhIsXL8qOX7p0CXXr1gUAdOjQAS4uLtizZ4/0+MWLF3Hjxg1ERkaq2l4iejhzA549PT2lvb7Y9UVESrPrbK/s7GxcuXJFup+YmIiTJ0/C398fYWFheP311zF8+HA89thj6NmzJ3bt2oVt27bht99+A1AySHL8+PGYPn06/P394e3tjZdeegmRkZGc6UXkgMxVfjQaDXx9fZGeno6MjAzUqlXLHs0joirCruEnISEBPXv2lO5Pnz4dADBmzBisXLkSTz75JL744gssXLgQL7/8Mpo2bYoffvgBXbt2lZ7z4YcfwsnJCcOGDUN+fj769u2Lzz77TPX3QkQPZy78AJCFHyIiJdk1/PTo0eOhgxvHjRuHcePGmX28evXqWLZsmdmFEonIcZgb8AxwxhcRqcdhx/wQUeXzsMoPwPBDRMpj+CEi1TD8EJEjYPghItWYm+0F/B1+7t+/r2qbiKjqYfghItWw8kNEjoDhh4hUwwHPROQIGH6ISDWs/BCRI2D4ISLVMPwQkSNg+CEi1ZQ24FncYy8rK0vVNhFR1cPwQ0SqKa3yIx4TAxIRkVIYfohINaUNeHZ1dQXA8ENEymP4ISLVlFb5EQMRww8RKY3hh4hUY0n4KSgoULVNRFT1MPwQkWpKG/DMyg8RqYXhh4hUIQhCqZUfjvkhIrUw/BCRKgoLCyEIAgDTA55Z+SEitTD8EJEqxKoP8PAxP2JIIiJSAsMPEalCP/yUVvkRBAFFRUWqtYuIqh6GHyJShf4aPxqNxuhxccwPwK4vIlIWww8RqaK0mV6AvBrE8ENESmL4ISJVlDbTCwC0Wi2cnEp+JXGtHyJSEsMPEamitK0tRJzxRURqYPghIlU8rPIDMPwQkToYfohIFZaEHy50SERqYPghIlU8bMAzwP29iEgdDD9EpAp2exGRo2D4ISJVcMAzETkKhh8iUgXH/BCRo2D4ISJVWNPtxTE/RKQkhh8iUgXH/BCRo2D4ISJVWDPbi+GHiJTE8ENEqrBkwDPH/BCRGhh+iEgVHPNDRI6C4YeIVMExP0TkKOwafuLi4jBo0CCEhIRAo9Fg8+bNZs994YUXoNFo8NFHH8mOp6enIyYmBt7e3vD19cX48eORnZ2tdNOJyEoMP0TkKOwafnJyctCmTRssW7as1PN+/PFHHD58GCEhIUaPxcTE4OzZs4iNjcVPP/2EuLg4TJw4UakmE1EZWTLgmWN+iEgNWnu+eHR0NKKjo0s95/bt23jppZfw888/Y8CAAbLHzp8/j127diE+Ph4dO3YEACxduhT9+/fH4sWLTYYlIrIPa1Z45pgfIlKSQ4/50el0GD16NF5//XW0aNHC6PFDhw7B19dXCj4AEBUVBScnJxw5csTsdfPz85GVlSX7IiJlsduLiByFQ4eff//739BqtXj55ZdNPp6SkoLAwEDZMa1WC39/f6SkpJi97sKFC+Hj4yN91alTx6btJiJjDD9E5CgcNvwcO3YMH3/8MVauXAmNRmPTa8+cOROZmZnS182bN216fSIyxr29iMhROGz42b9/P9LS0hAWFgatVgutVoukpCS8+uqrqFevHgAgODgYaWlpsucVFRUhPT0dwcHBZq9drVo1eHt7y76ISFlc54eIHIVdBzyXZvTo0YiKipId69u3L0aPHo3nnnsOABAZGYmMjAwcO3YMHTp0AADs3bsXOp0OERERqreZiMwTqzmWDHhm5YeIlGTX8JOdnY0rV65I9xMTE3Hy5En4+/sjLCwMAQEBsvNdXFwQHByMpk2bAgDCw8PRr18/TJgwAV988QUKCwsxZcoUjBgxgjO9iBwMx/wQkaOwa7dXQkIC2rVrh3bt2gEApk+fjnbt2mHu3LkWX2P16tVo1qwZevfujf79+6Nr16748ssvlWoyEZURx/wQkaOwa+WnR48eEATB4vOvX79udMzf3x9r1qyxYauISAkc80NEjsJhBzwTUeXCbi8ichQMP0SkCku2txDDjxiUiIiUwPBDRIoTBMGi2V5ubm4AgAcPHqjSLiKqmhh+iEhx+t1YpVV+GH6ISA0MP0SkOP1uLIYfIrI3hh8iUpwYfjQaDVxcXMyex/BDRGpg+CEixenP9Cptrz6GHyJSA8MPESnOksHOwN/hJy8vz6o1wIiIrMHwQ0SKs2SNH+Dv8KP/HCIiW2P4ISLFlSX8sOuLiJTC8ENEirM0/Li4uMDZ2RkAww8RKYfhh4gUZ2n4ATjomYiUx/BDRIqzdMAzwPBDRMpj+CEixWVnZwMA3N3dH3ouww9RiQULFuCJJ55AUVGRvZtS6Wjt3QAiqvzS09MBAAEBAQ89l+GHqMTs2bMBADt27MDgwYPt3JrKhZUfIlKcGH78/f0feq7+Wj9ExA8CSmD4ISLFlSX88Bc+ESmF4YeIFHfv3j0A7PYiIsfA8ENEimPlh4gcCcMPESmO4YfIOtzbTlkMP0SkOM72IrKOTqezdxMqNYYfIlIcKz9E1uHaPspi+CEiRel0OoYfIisx/CiL4YeIFJWVlSWV8Bl+iCzD8KMshh8iUpRY9fHw8ODeXkQWYvhRFsMPESnKmi4vgOGHCJCHHw5+tj2GHyJSFMMPkfX0ww+rQLbH8ENEisrMzAQA+Pj4WHQ+ww8Rw4/SGH6ISFHiBqViqHkYhh8ihh+lMfwQkaLy8/MBwKLBzgDDDxHA8KM0hh8iUpRY+bE0/Li7uwMAcnNzFWsTkaNj+FEWww8RKcrayo+HhwcAICcnR7E2ETk6hh9lMfwQkaLE8FO9enWLzhcrPww/VJUx/CjLruEnLi4OgwYNQkhICDQaDTZv3iw9VlhYiBkzZqBVq1bw8PBASEgInn32WSQnJ8uukZ6ejpiYGHh7e8PX1xfjx49Hdna22m+FiMywttuLlR8ihh+l2TX85OTkoE2bNli2bJnRY7m5uTh+/DjmzJmD48ePY9OmTbh48SIGDx4sOy8mJgZnz55FbGwsfvrpJ8TFxWHixIlqvQUiegh2exFZj+FHWVp7vnh0dDSio6NNPubj44PY2FjZsU8//RSdO3fGjRs3EBYWhvPnz2PXrl2Ij49Hx44dAQBLly5F//79sXjxYoSEhCj+HoiodNZ2e4nhp6ioCAUFBXB1dVWsbUSOiuFHWRVqzE9mZiY0Gg18fX0BAIcOHYKvr68UfAAgKioKTk5OOHLkiNnr5OfnIysrS/ZFRMooa7cXwOoPVV0MP8qqMOEnLy8PM2bMwMiRI+Ht7Q0ASElJQWBgoOw8rVYLf39/pKSkmL3WwoUL4ePjI33VqVNH0bYTVWXWdnu5urpCqy0pSnO6O1VVDD/KqhDhp7CwEM888wwEQcDnn39e7uvNnDkTmZmZ0tfNmzdt0EoiMsXa8ANw3A8Rw4+y7DrmxxJi8ElKSsLevXulqg8ABAcHIy0tTXZ+UVER0tPTERwcbPaa1apVs+oXMRGVnbVjfoCS8JOZmcnwQ1UWw4+yHLryIwafy5cvY/fu3QgICJA9HhkZiYyMDBw7dkw6tnfvXuh0OkRERKjdXCIywdoxPwDX+iFi+FGWXSs/2dnZuHLlinQ/MTERJ0+ehL+/P2rVqoWnnnoKx48fx08//YTi4mJpHI+/vz9cXV0RHh6Ofv36YcKECfjiiy9QWFiIKVOmYMSIEZzpReQg2O1FZD2GH2XZNfwkJCSgZ8+e0v3p06cDAMaMGYO33noLW7duBQC0bdtW9rxff/0VPXr0AACsXr0aU6ZMQe/eveHk5IRhw4bhk08+UecNENFDMfwQWY/hR1l2DT89evSAIAhmHy/tMZG/vz/WrFljy2YRkQ2J3V7WjvkBGH6o6tIPPIWFhXZsSeXk0GN+iKjiK0/lh1Pdqapi5UdZDD9EpCh2exFZj+FHWQw/RKQohh8i6zH8KIvhh4gUxTE/RNZj+FEWww8RKaoslR+u80NVHcOPshh+iEhR7PYish7Dj7IYfohIMYIglKvbi7O9qKpi+FEWww8RKaaoqEhar4uVHyLLMfwoi+GHiBQjdnkBDD9E1mD4URbDDxEpRuzyAqwLP56engCAv/76y+ZtIqoIGH6UxfBDRIoRKz9arRbOzs4WP8/Pzw8AcP/+fUXaReToGH6UxfBDRIopy0wvoGTPPgBIT0+3eZuIKgKGH2VZHH6Sk5OVbAcRVUJlDT8BAQEAgIyMDBQXF9u8XUSOjuFHWRaHnxYtWnD3dCKyijjmx9rwI3Z7CYKAzMxMm7eLyNEx/CjL4vCzYMEC/POf/8TTTz/NUjQRWUSs/Fizxg8AuLi4wMvLCwC7vqhqYvhRlsXhZ9KkSTh9+jTu3buH5s2bY9u2bUq2i4gqgbJ2ewF/j/u5d++eTdtEVBEw/ChLa83J9evXx969e/Hpp59i6NChCA8Ph1Yrv8Tx48dt2kAiqrjK2u0FlISfpKQkVn6oSmL4UZZV4QcAkpKSsGnTJvj5+WHIkCFG4YeISFTWbi+AM77UsnPnTvj6+iIyMtLeTSE9DD/Ksiq5/Pe//8Wrr76KqKgonD17FjVr1lSqXURUCTx48ABA+bq9GH5s786dO3Bzc0NaWhoGDBgAPz8/3L17F05OXP3EUVgafj7//HPEx8fjyy+/ZDHCChZ/p/r164ejR4/i008/xbPPPqtkm4iokhBnavn6+lr9XIYfZWRlZSEkJASenp6YP38+BEFAeno6UlJSEBISYu/m0f+zNPxMmjQJANC7d2/ExMQo3q7KwuLwU1xcjNOnTyM0NFTJ9hBRJSKu0CxOXbcGBzwr49KlSwCA7OxsfPfdd9Lxa9euMfw4EEvCj7hpMAD88ccfirepMrG4xhkbG8vgQ0RWEcNPWSo/4kKHrPzYlv5ms8eOHZNuX7t2zR7NITMsCT/6G//eunVL8TZVJuzgJSLFZGRkAChf5YfhxzaKi4sxYsQITJkyxeTjiYmJuHr1Kv7xj39g9uzZKC4uxnPPPYc333xT5ZYSYFn4EX++AIZXa3F0FBEppjzdXuJzGH7KLj8/HxEREWjatCkmTJiA9evXG53j5OQEnU6HLVu2YMmSJfjrr78AALm5uVi5ciUA4M0334Snp6eaTa/y9AOPIAjQ6XRGA9L1N/49e/YsBEGARqNRrY0VGSs/RKSY8nR7eXt7A4D0x5isd/ToUZw6dQobNmwwOyZk4MCBAIATJ07IvtcffvihdPvixYsASqpHn332mckQRbZlWO0xVf3RDz+ZmZm4efOm4u2qLBh+iEgx5en2EisN2dnZNm1TZZSfn4+BAwdi7Nixsr3Q0tLSpNumVuXXaDT45z//Kd1v2LAhrl27ZrSMyYULFyAIAoYPH47JkydjxIgRiI2Nxc6dO7Fv3z4F3hFZG36AkgBLlmG3FxEppjzdXuLeXgw/D/fLL79g+/btAEqqNAcPHoRGo0FSUpJ0zt69e42et2jRInTv3h2BgYFwd3fH7t27Ua9ePSxYsAATJ06Uzjt//jzOnj2LH374QToWHR2N4uJiACUreZdlLScyryzhJz4+HkOGDFG0XZUFKz9EpJjydHuJlR92ez3c1q1bpduHDx/GkSNHAEAWfgy9/fbbeOONN+Dh4YFr167hwoULqFevHgBg3LhxePXVVxEWFgagZGPrRx99FADQuXNnuLq6SsEH+Hv6PNmOJeFHf8AzUBJ+yDIMP0SkCEEQbNLtVVhYiIKCApu2rSIpKirCsGHDMH/+fJOPZ2VlSV1atWrVAgBMnz4dGRkZpYYfHx8f6baHh4escuPs7IzFixdj+fLlstcBgKioKLRq1Up2rbNnz1r5ruhhrKn8dO7cGQCQkJAgW/uHzGP4ISJFZGdnS9WB8oQf8VpV1d69e7Fp0ybMmTPH6A9bXl4eIiIikJqaCn9/f2l21qFDhxAREVHq9GdLqnEtW7Y0OvbII4+gQ4cOsmMMP7ZnTfh57LHH4OrqivT0dE55txDDDxEpQvzF7OLiAjc3N6uf7+LiIlUjqnLXl373kuEYjz/++AMXLlyAp6cnNm/ejMcffxzz5s0DUNIVdebMGQDA1KlTMX78eAQHB0vP1a/8mBMaGoo1a9bIBkV36dIF7du3l53H8GN71oSfoKAgKairy10HAAAgAElEQVSeOnVK+cZVAgw/RKQI/S6vsq49whlfkHX56a/ie/z4cRw4cAAAEB4ejm7dukGj0eCtt97C5MmTZdd499138dVXX8kGMVs6DmvkyJFYtmwZpkyZgnfeeQcBAQFo06aN7ByGH9uzZsyPr68vWrduDQA4ffq08o2rBDjbi4gUUZ7BziIvLy/cu3evSocf/UGtt27dQuvWrbF371707t1bOm64J9f48eOxbNkyAECjRo2kEFmjRg3pHGv+vzg7O2Pp0qXS/Q4dOiAqKgoFBQWIi4vD5cuXcf78eYSHh1v35sgsayo/fn5+UvgRq31UOrtWfuLi4jBo0CCEhIRAo9Fg8+bNsscFQcDcuXNRq1YtuLm5ISoqCpcvX5adk56ejpiYGHh7e8PX1xfjx4+v0r8oiRxFeaa5izjjC7J1e27duoXi4mKMGzdOdo440FnUrl07bNu2DV999RXi4uKk4+J+aYBl3V7muLi4IDY2Fvv27cOQIUMgCALmzJkDoKSb7umnn8bIkSNRUFAAnU6H/v374+mnny7z61VFZQ0/rPxYxq6Vn5ycHLRp0wbjxo3D0KFDjR5///338cknn+Cbb75B/fr1MWfOHPTt2xfnzp1D9erVAQAxMTG4c+cOYmNjUVhYiOeeew4TJ07EmjVr1H47RKQnNTUVABAYGFjma1TltX4KCwsxaNAg/Pzzz9KxW7du4cyZM0azuEztxi6u3KxPXDUbKF9FTt/8+fOxZcsWbNq0CX/++SfOnz+P77//HkDJWJQXX3wRO3fuBFCyZYa7u7tNXreyKywslN03NePx3r17AErCT+3atQEAV69eRU5ODjw8PJRvZAVm18pPdHQ05s+fjyeffNLoMUEQ8NFHH2H27NkYMmQIWrdujW+//RbJyclShej8+fPYtWsXvvrqK0RERKBr165YunQp1q1bh+TkZLXfDhHpuX37NgBIv5TLoiqP+dm1a5cs+AAl4cfUbB7Dyo85Li4u0m39IFQeLVu2RMuWLSEIAvbu3Stbc2jp0qWyLRf0q1hUOsPwk5+fL7tfUFAgreAdGhqKwMBABAYGQhAEnD9/XrV2VlQOO+A5MTERKSkpiIqKko75+PggIiIChw4dAlAyndPX1xcdO3aUzomKioKTk5O0yJcp+fn5yMrKkn0RkW2JH0BMVSUsVZW7vUx90r958yYSExONjlv6PW7evLl029nZueyNM/D4448DAGJjY2XhR6fTYffu3dJ9hh/LieHH1dUVgHH4uX37NgRBQPXq1aWxXI0bNwZQUv2h0jls+ElJSQFQUjbVFxQUJD2WkpJiVFLXarXw9/eXzjFl4cKF8PHxkb7q1Klj49YTkS0qP1W528tU+Llx40a5wk+dOnVw+PBhaaNSWxE/pH711Ve4dOkSXF1dERkZCQCy6hXDj+XE8CN+ADD893Djxg0AJf9PxdmUDRo0AACu9WMBhw0/Spo5cyYyMzOlL+6ES2R77Pb624MHDxAZGYl//etfFj8nPT3d6NilS5ekWVziqr6A5d1eABAREYEmTZpYfL4lunfvLptJNmXKFHTr1g0AcPLkSek4w49lBEGQBjiLPwOGlR/x75b+h/eGDRsCYPixhMOGH3ExLnHQpCg1NVV6LDg4WLZrMVAyIj49PV22mJehatWqwdvbW/ZFRLYldnvZIvxU9G6vDRs24PDhw/j3v/9d6nmFhYXSKs6G4cdwYUH9tXYMd2FXm4eHB7Zu3QoPDw8EBwdj9uzZ0uwjfQw/ltEf7yNWPw3Dj1j5EfdfA1j5sYbDhp/69esjODgYe/bskY5lZWXhyJEjUjk1MjISGRkZOHbsmHTO3r17odPpEBERoXqbiahEXl6eNBOlPGN+Kku3lyXjCjMyMlCnTh088cQTAP6eySNasmSJtPEoAEyaNAmhoaHo378/nJzs/6s8MjISly9fxunTp2VTr/Ux/FhGP/xYU/kRww/H/DycXae6Z2dn48qVK9L9xMREnDx5Ev7+/ggLC8PUqVMxf/58NG7cWJrqHhISIv1yCA8PR79+/TBhwgR88cUXKCwsxJQpUzBixIhy/cIlovK5c+cOAKB69eo2Weenoocf/TVaCgsLZbOu8vPzMXDgQJw4cQL37t2TBgwbVn78/f0xePBgfPLJJwBKBi8nJibadOByeel3vzVr1gze3t6y4MfwYxn98CNOWbem8nPz5k0UFBRIg6XJmF0/LiQkJKBdu3Zo164dgJKdiNu1a4e5c+cCAN544w289NJLmDhxIjp16oTs7Gzs2rVLWuMHAFavXo1mzZqhd+/e6N+/P7p27Yovv/zSLu+HiEroj/cp69YWQOXp9tL/Y2b4Xn755Rfs3r1bVunJzs42qvz4+vriX//6F4KCgtCrVy+4urpCq9WW6/urJBcXF/Tr1092TH+1ajJPf3CzucqP/oBnUXBwMNzc3KDT6YzWgiI5u1Z+evToYbRLsT6NRoN33nkH77zzjtlz/P39uaAhkYMRZ1taMxDXlMrY7ZWVlQV/f3/pvqlqSGpqqlHlR5ydeu3aNWnDV0cXHR2NDRs2SPdZ+bGMGJadnZ2lD/v6gSg7OxuXLl0C8Pf0dqDkb2ajRo1w5swZXLp0SfYYydm/o5iIKh3xj1x5VxEWJyNU9IqBfhXHcPyP/malojZt2uDw4cOyY2IQdHd3d6iurtJER0fL7mdmZqKgoADdu3fHgAEDSv3wW5WJ4cfFxUUKuvqVn19//RUFBQVo0KAB6tevL3uuuL8aFzosHcMPEdmc2LUj/sEuK3Gdr9LW7aoI9Ks49+/fx/vvv4/t27cD+Lv7Ql9OTo7RMUcY1GytoKAgXLhwAW+88QaAkvDz448/Ii4uDjt27MCff/5p5xY6Jv0FDk2Fn127dgEA+vXrZ9TtKYafc+fOqdHUCou7uhORzdkq/IjdZmlpaSguLq4wFQ9D+uHnww8/xJYtWwCUbAJqKvzoa9Omjcl9uiqKpk2bSuM6t2zZIr13AEhKSrL7NH1HJHZxmav8iKtm9+3b1+i5rPxYhuGHiGxO7Nopb/ipWbMmNBoNdDod7t69W+r6XY5Mv9tL/4//pUuXHhp+jhw5UmHG+Jhjbgf5GzduyLYnohL63V6G21sIgoDr168DkK/1JNIPP4IgOOyAeHureHVUInJ4YuWnvAuIarVaaQublJSUCjtGxNRqzQBw9OhRKfwsW7YMw4YNMzqnogcfwDj8iO9p2LBhmDp1qvT/9cMPP8RHH32kevscjakxP2I1SBw3BRhv/wQATZo0gZOTEzIzMyt8d7GSGH6IyOZs1e0F/L3a+5EjRxAcHGzVFhH28uDBA3Tr1g1z5swBYLxgoSg2NlYaHP7ss8+ie/fusseffPJJZRuqEv3ws2TJErz00kvS/Y8//hh37tzB9evXMX36dEybNq3CL21QXqWN+REDjbe3t2zZF1H16tVRt25dAJCto0dyDD9EZHO2DD/iuJ8XXngBaWlpD90iwhFs2rQJv//+O+bPn4+CggKzU/VXrVoFAKhRowY8PT1lGzWfOXMGP/zwgyrtVZp+BbBbt26yhfmAkvd64MAB6b7htkVVTWljfsQtn0rrAhbX/hHX2yJjDD9EZHNKhB9Hc/bsWbMVHf3Bqab2WRoxYoRUDdFqtVi4cCEA+YyuRo0aVZrxGkFBQQgKCoKPjw/atm1rFH4SEhKwb98+6X5VDz+lTXUXw4+pLi9RaGgoANPLKFAJDngmIpuz1YBnoPRPuPZy9uxZtGzZEqGhodIeS/r0u20SEhKMHm/fvj0+//xzHDp0CE2aNJF24+7SpQsA810aFZWrqyvOnTsHrVYLFxcXo/Aze/Zs2X2GH/PhR+z2YvgpH1Z+iMjmlK786O+VpbTs7Gw88sgjePfddwEA8fHxWL58OYCSPy4nTpyQPo2LxL3NAODHH380umZoaCh8fX0RHR0tBR+gpLvi4sWLlXJjSn9/f6n7S3+DVlMYfv4e82M428uSbi+Gn4dj5YeIbE6JAc/6DLeIUNLKlStx6NAhHDp0CBEREUZrq7Rv3x41a9aU/cHWn2WzadMmACWf1MU/XPr7MRlq0qSJLZvvkPz8/PDDDz8gKSkJ06dPBwD07NkTR44cQW5ubpUPP6bG/IjH2O1lG6z8EJHN2TL89OjRAy1btpQdU3O7C/3BytOmTTN5zt27d2XnmZpiPHjwYOm2+MepKhs6dCimTp2KmJgYjBw5ErGxsXj55ZcBsPJjSbcXKz/lw/BDVdqVK1cQExODM2fO2LsplYZOp5O2ZyjvOj9AyUKHp06dwqlTp+Dh4QFAmfCTmZmJ4uLiUs8pbcsA/X9DhuHH2dkZnTt3lu7Xrl27jK2sXDQaDVatWoU1a9bA2dlZmu0mhp9169ZhypQpWLt2rT2bqbrSprpbU/m5c+eOql3EFQnDD1VpTz31FNasWYOoqCh7N6XS0K+A2KLyA5TMgmrdurW0fsnDdgfPycmxakHEGzduIDAwEE899ZTJa1ni5MmTAErev+Eg6KefflrWneXi4mJx26oS/fCTlJSEUaNGYdmyZYiJiZEFyvHjx+PZZ5+tsItePkxplR9xPFlp4ScwMBBarRY6nY4LHZrB8ENV2qlTpwCwzG5L4kwvrVZr89WJxenhkyZNwm+//SZ7LCEhAX/++SeuX7+OmjVr4rnnngMA5OXlISYmBqtXrza6XmJiIrKzs7FixQoUFBRg8+bNRufcvXvXoradPHkSly9fRnBwsLSic7169TBmzBisWLEC3bp1w0cffYQ9e/ZY85arFP3ws3btWincCIKAvXv3Aiip+n399df47rvvZAPLKxNz6/zk5eUhOTkZQOmDxp2dnaVuscr6PSovhh8isin98T62XqfG19cXAHDhwgX07NlTOn7ixAl06tQJ9evXR0xMDB48eIBvvvkGAPDtt99izZo1+Mc//iG71qlTp9CkSRN069ZN+qQNlIQlfZaGn+PHj+Ott96SVYquXLmClStXonr16tBoNHjllVfQq1cv6950FSKGn9u3b+O7774D8Pf/czE06m8VYm7xyIrO3N5e165dgyAI8Pb2fuiGsOIHBfHDCMkx/BCRTdlysLMh8Q+hodOnTwMo+WN48OBB6bhOp5N1kekHm5UrV6KoqAgnT57EggULpOPiIFFBELB27VqjSo2bm5vJNiQkJGDNmjWyYxV1F3p7EcPP/fv3ce7cObi7u+Ozzz4DUBJ+BEHAn3/+KZ1///59u7RTaabG/BQUFODy5csALFsAUxxvV9W3CjGH4YeqLMPxAjqdzk4tqVzsEX5MLTQIAH/++ads1eQrV67g1KlTuHv3Lr7//vtSr7V27VqMGjXKaHzRmDFjjJ6jP3ura9eueOmll6StK8hygYGBaNWqFYCSPao2bNiAwYMHw8nJCUlJSfj1118RFxcnnV/Zw49ht5e4V1fjxo0feg3x54+VH9MYfqjSS0pKwpQpU4w2+TPcadvczttkHSXDj+Hu4OJMFnNTepOTk2WVgv/85z9o27YtQkNDzT6nV69e6N69O2JiYkw+PmLECGzbtg3z5s2TjulPY584cSI++eQTs88n85ydnXHs2DEkJCTg/PnzGDBgADw8PKQ/9r1798brr78unV9Zw4+5MT9i5ceS8MPKT+m4yCFVepMmTcKOHTvw/fffy2Y+GG76d+fOHdSoUUPt5lU6N27cAKDMthSGlZ9Ro0Zh9OjRZis/huHn22+/BfD3H5ehQ4di//79RuN69KsLhkJDQ9GwYUP07dsXly9fRvfu3eHr6yt1zzzxxBPWvzGSuLi4oEOHDrJjLVu2xMWLF43Orazhx1zlx5rww8pP6Vj5oUrvxIkTAErWx/D395e2GzD85M8pobZx/vx5AEB4eLjNr63Vyj+vbdy4EYMHD8b169dNnp+cnFzqgOXevXubbKeLi4tsh3V94ho9Li4uWL16NSZOnIihQ4di2rRpWLVqlSIVr6pO7Aoz9L///Q/r1q1TuTXKM7e9hVi9btSo0UOvwcpP6Rh+qNJr1qyZdPv+/fsYO3YsANOVH1FCQgLatWuH2NhYVdpYmYgLASoRfvSrOKZe03Al6Nu3bxs9p0WLFtLtXr16SWsH6duzZw9SUlIwYcIEo8dMbTiq1WrxwQcfsKtLIYb/X0XHjx/HyJEjpQ84lYWpyo9Op5MqnIYbw5rCyk/pGH6o0jOccSN2eYjrhoj0Kz99+vTByZMn0adPH+Ub6OAEQcCWLVseul5IWloaCgoKpMpP8+bNbd6W/v37l/q4YeAyrPzMmjVLtkVF06ZNjcYRAUBkZCQ0Go0szAQEBGD06NFlbTqVg35gNUXscqwsTI35AUp+FjUaTakLHIpY+Skdww9VeoZbIeTl5UnlcicnJ3Tv3h0ApMXDgMo7lqAsZs2ahSeeeELad8mUEydOoFatWhg+fLgUNvQrbrbSrVs3HDp0CG3atDH5uOHaJ/pjfv744w/Mnz8fY8eOxdy5c/Hzzz9Do9GgU6dO0vkTJ07E6tWrpe617t27Y/fu3bh+/Tru3LkjrR1E6mrcuDHatm1r9vFVq1YZrc9UkZmq/Ihq1qxp0QrhrPyUjgOeqdIzFWSef/55AMBrr72GOnXqYN++fUhKSlK7aQ6voKAACxcuBACzU8MBYPny5dDpdNIKyWFhYdI+XLbWpUsXNGnSRFqdW6TRaDB48GBZFeDEiRPSLD4xGDk7O+Ptt9+WzomJiUFiYiK6du2K3r17G72eqWOkLmdnZxw/fhxff/219LOrLy8vDzt37kRYWJjRYOmKSH/Mj1arhUajkZbmqFWrlkXXYOWndKz8UKUnhp8//vgDkZGR0vHhw4fjvffeQ4MGDQCUbHVgyN/fX51GOqht27ZJt+vXr2/2PMOF/9q3b69YmwDAz89Pur1u3TrExMRg7dq16Nu3L3bt2oXz58+jZs2asnFd5v5fOjs7Y968eQw5Dk6j0ZgcnyUaOnQoOnbsKKvgVlT6lR+NRiOr/oSEhFh0DVZ+SsfwQ5VWQkICunbtKn3y9/PzQ79+/QCUVCa++eYbODs7S3/UExMTIQiCrJssICBA/YY7kN9//126XVq3gji9XTR58mTF2gTIg0yrVq2watUqDB8+HADQt29fNGvWDDNmzJA9x3CmGFU8lgz03bZtG7766it8/vnnKrRIGfpjfgBIM74AVn5shb8NqNLSH8sBlKwRM3XqVISEhGDo0KHSpylxg8CsrCykp6fL1oyprLtG69PpdLJVkPUdOnRIul3aTur6XYYNGzZUvIqiP+NKnHpuaPLkyZg7dy5yc3O5zUQlob+StsjV1VUKCwAwc+ZMqdrbr1+/UiuWjkq/2wsA3N3dpQqOpeGHlZ/SsfJDldIff/whu+/q6go3Nzd4e3vj+eefl1UO3NzcpF8oiYmJsu6vyv6p6cyZM6hRowYWL15s9Fh+fr5sCnFubq5sA9CsrCy88MIL+PXXX6XwM2/ePMTFxdl8Q1ND+lUo8ROuoerVq+PixYvo27cvli5dqmh7SB3u7u6IjY2VbR1i+CFHf4zf/v37H3rNHTt2YO3atbZrpA3od3sBkHXXW9rtxcpP6Rh+qFJav3697L6fn1+pf5DFT4fx8fGyBfMq+y+O119/Hffv35dtGSA6ceIECgoKZKsq63+KfPHFF7F8+XL06tVLmlElVtaUpv//srT/r6Ghodi1axdefPFFxdtE6oiKisKIESOkyu2jjz5q9tzSwo+4z9uAAQMwatQohxorZBh+9FcNt7byk52dzX0LTWD4oUrJcB8vT0/PUs8Xw8+kSZMwffp06Xhubi6Ki4tt30AVFBcX4+effy512n5+fr7Zx06ePAmg5FOnOKA5MzMTqampGDNmjNEO5t7e3mY3HrW1l156CaGhoXjzzTdVeT1yLM7Ozrh9+zbu3r0rdVsDwIwZM3Du3DksWbIEgHzMmr4HDx4YTZ93pBXeDcf8DBgwQHrM0kkYYuVHEAQMHTpU2gePSjD8UKVkOHPrYRWc0lYjzs7Otkmb1CIIAuLj4/Hxxx+jX79+iIqKkj2ekJAgfT/0x8IYjm+6evUqgJI1VsSFADMzM/HCCy9Ie2Tp0/8jpLRatWrhxo0bWLBggWqvSY4lICAANWrUkC34FxoaivDwcIwdOxYajQYXLlww2vokPT3dZDdXWlqa0k22mOGYn4CAAMyfPx/PPPNMqZUuffrj4rZs2YIDBw7YvqEVmEOHn+LiYsyZMwf169eHm5sbGjZsiHfffVf2S1oQBMydOxe1atWCm5sboqKipM3fqOoy/IX3sEULJ0+ejKefftrkY/bs+kpNTcVzzz2HI0eOWPycFStWoHPnznj11VcBlGwBIPr222/RqVMnTJ06FQBkA53v3buH4uJiLF++HNeuXcO1a9cAlAxgFsPPN998I63lY0iJRQ1Lo/S4IqoY9DfQrVOnDoCS6kivXr0AlOz/JdLpdOjQoQPGjx9vdJ3yVn7i4+Oxa9eucl1DZNjtBZQsNrp+/XqLZy0a/nyIs17p/wkObMGCBUJAQIDw008/CYmJicLGjRsFT09P4eOPP5bOWbRokeDj4yNs3rxZOHXqlDB48GChfv36woMHDyx+nczMTAGAkJmZqcTbIJXl5uYKAIy+HiYjI0N2vkajEQAI58+fV6HVpvXv318AIHh5eVn8nNatW5t87zqdzuhYx44dpfsrV64UZs2aJQAQGjZsKLRp00YAIPz0009C586dZc998803hby8PKFHjx7SsU8//VSR7wFRaa5cuSL9G4yPj5eOr1+/XgAghISECIWFhYIgCMLNmzdN/m4AICxatKjMbSgqKpKuc+zYsXK/p/bt2wsAhB07dpTrOnXr1pXatXz58nK3yxGV9e+3Q1d+Dh48iCFDhmDAgAGoV68ennrqKfTp0wdHjx4FUFL1+eijjzB79mwMGTIErVu3xrfffovk5GSzn06pctPpdNKnLy8vL2kMiiX95IZ7PInTag8dOgSdTid1J5U2TsbWduzYAcC66pNgYnp+cXEx4uPjZcdu3bqF1NRU6f7YsWOlbqSrV69K3V76lR8AaNCgAWbPno1q1arJuroee+wxi9tIZCv6lR/9wfZDhgxBjRo1kJycLP0cif+mTTFV+VmzZo1FMwXFKilgPNmiLAzH/JTV9u3bpQHS+nvckYN3ez3yyCPYs2cPLl26BAA4deoUfv/9d0RHRwMoGdeRkpIiG9Pg4+ODiIgI2fokVHV89tlnGDp0KICSMSi7d+/GY489hu3bt1t9LXG2xLhx4/DGG2/g7bffRufOnfH+++/btM3mmAoxovj4eOTk5Fj8vA0bNhh9Dw4fPiwLP4ays7Oh0WhQv359Wfjp37+/NABaf32Vh20+SaQEDw8PfPDBB1i4cKEs/FSrVg1jx44FACxcuBA///yzNEj/8ccfNxoekZqaiunTp2PUqFHIzc1Ffn4+YmJi8PLLL+P06dOltkH/8Y0bN5Z7fTDDMT9l1aJFCzz77LMAGH6M2LwGZUPFxcXCjBkzBI1GI2i1WkGj0Qjvvfee9PiBAwcEAEJycrLseU8//bTwzDPPmL1uXl6ekJmZKX2JpVB2e1V8ISEhUpm3efPmVj9/2LBhAgAhMjJSiIiIMFsiV9Lly5eFbt26CZ988onsNYuLiwVBEIQvv/xSACBMnDjR5PNbtGhhtt3WftWpU0cQBEEYP368dGzZsmXSax07dkxwcnISXnzxRUW/J0RlcfHiRZP/rl988UWhuLhY8PHxkY65ublJt4cPHy6cPXtWur9mzZpSX2fu3Lmy65en6+vBgweCv7+/AEA4ePBgma8jWrx4sQBAGDVqVLmv5YgqZbfXhg0bsHr1aqxZswbHjx/HN998g8WLF5d7Z+WFCxfCx8dH+hIHyVHF9uDBA2m9GQDo2bOn1df44osvMH/+fGzYsEGq/Bhq2rQp7ty5g0mTJuH8+fNlbq8548aNw/79+412URffm7h1xJdffmny+cJDPnVa0z3VuHFjAPIuQf2Zce3bt0dqaio+/vhji69JpJYmTZrgk08+Mer2btSoEZycnHD58mWsXLkSQMnvD9H69etlA6X1F/s0dOXKFdm5AMpUaX722WfRunVrtG/fXhqcXN5uL+DvDX1Z+TGgTBazjdDQUKNBlO+++67QtGlTQRAE4erVqwIA4cSJE7JzHnvsMeHll182e11Wfiqn3bt3CwAEV1dX4Z133jGqCFrriSeeMPmpsWbNmkLz5s2l+yEhIcK6dets9C7kgxT1v06cOGFy0LKhZs2alVrN2bZtm7BixQqj41qtVrh8+bKs4vTLL78IgiAIM2fOlI7duXPHZu+VSA06nU6YN2+e9G948+bN0mNnzpyR/RyIg/u1Wq10LCoqSjr/66+/FmJiYoSVK1cKr732mjQxAv9fXRGvoe/EiRPSz5IpeXl5Jn9WT506Ve73vmPHDgGA0LZt23JfyxGVtfLj0OHH399f+Oyzz2TH3nvvPaFx48aCIJT8gw4ODhYWL14sPZ6ZmSlUq1ZNWLt2rcWvw9lelYP4y2306NE2uV6fPn2kX0K//fabycDwsCBSFubCz+OPPy40btxYdkycxaKvdu3apbbz7NmzgiAIgre3t3Ts008/Fa5duyYIgiDk5OQIM2fOFA4cOCBdU7/bS6fT2ey9Eqnl6NGj0r/hM2fOSMfv3r0rHe/Xr5/wxx9/GP3MBAQECDqdTsjNzRVcXFxM/lzVrl1b6mbTaDRCSkqKIAgl3djiOTdu3DDZNv0uNvHL09NTuH//frnfd3x8vHTNCRMmCAUFBeW+piOplOFnzJgxQu3ataWp7ps2bRJq1KghvPHGG9I5ixYtEnx9fYUtW7YIp0+fFoYMGcKp7lXUhAkTBADCO++8Y5Pr6Y+dEYSSsK0/LkDt8GPqKykpSXpeUVGRsHHjxoc+Jzs7WxAEQTh+/Bo5tFcAACAASURBVLgQEBAgLFmy5KFtmjFjhs3fJ5GaiouLhS5duggtWrQQ8vPzZcc9PDwEAMKRI0cEQRCEqKgoo5+bZcuWCXPmzDE6PnnyZCEvL0+6ZocOHQQAwooVK4SLFy/Klp7YsWOHcPnyZeHw4cPC119/LcycOVMoLi4WfvjhB9k133rrLeHevXs2ed/Xr1+XXXvjxo02ua6jqJThJysrS3jllVeEsLAwoXr16kKDBg2EWbNmyf7h6nQ6Yc6cOUJQUJBQrVo1oXfv3sLFixeteh2Gn8pB7Kb6/PPPbXI9X19foz/4hpUXNcKPfvm9c+fOwtChQ6X7cXFx0vMmT55sUWDSZ2kV5969e8KoUaOEn3/+2Wbvk0ht4qQBQ8eOHRP2798v3f/pp5+kn5f69esb/Qz16NFDaN++vVC7dm0hNTVVdi1x8POwYcOEli1byp738ccfG11r+/btwoIFC2THLly4YLP3nJOTYxSsKpNKGX7UwvBTOXTt2tWmn2xWrVolABBmzZolHXvsscdMBgpnZ2ezQeLIkSNCWFjYQ2eMiMLCwmTXrlatmnRb/Deqv7jgBx98IFvozfDr5s2bQnh4OCs3RBYqLi4WoqKihA4dOgg7d+40+pl68803hcLCQtkHcZHYvab/cyt+MBs5cqTRtebOnSuMHj1aACA8//zzsoUabUX/9QYMGGDz69tTpZztRWQNcTaDOLuhvGJiYnDz5k28++670jH92WT6a3AUFxebXYjwlVdewY0bNzBq1CjZ8eTkZAwfPtxo6wrD9XtmzpwJABg/fry0WWFYWJj0+PTp0/HVV1+ZfR+hoaGYM2cOAEhrIBGReU5OToiNjUVCQgL69u2L/v37yx5v164dtFqtyXV4OnToAB8fH2kxVBcXF+n5pmaB/frrr/jjjz8AANHR0ejYsaOt345sw+GjR4+Wex2iyoDhhyoNMZjUqFHDZtcMDQ2V7ZHToEED6Xa3bt1k5965c8fkNcztCv/MM89gw4YN0h5E4rmG+5CNHj0aly5dwvLly6Vjhr+8Fi1aVOr7GDFiBOLj4/Hdd9+Veh4RyWk0Gmzfvh2ZmZnSsU6dOpk938nJCXXr1pXuBwUFoUmTJgCArKwso/P3798vTaVv3bq1rZotc/jwYWzduhVarRZ3797FjRs3FHmdioThhyqMxMRETJ06FUlJSUaPFRcXS2tj2KryY8rnn3+O4cOH49SpU/jqq69k1Zzk5GTpdkJCAho3box169YhMDBQOq7RaLBq1SoAkHZZzs3NlR7PyMiATqeTvWbNmjXRuHFj2Q7sw4cPt6rdGo0GHTt2hLu7u1XPI6IS3t7eOHDgAHbs2CELN6aIW+MAJdtviOtlmVOtWjUsXboUjRo1sklbDTVt2hSDBg1Cw4YNAZT8LlXDtm3bMGXKFNlK8A5DkU64CoZjfioGccVlUys3p6WlSX3apqZ/K0kcf7N69WrpWM+ePaX2iBuEil9ubm7SvznxSxyIaWpFWlNjiXQ6nXDmzBkhKSlJdq7++kPiFxGpa+LEidLP38CBAwWdTid4eXkZ/Wx+++23Qnx8vM1mdj3Mo48+atW4SJ1OJ+Tk5JT59cT3+dFHH5X5Gg/DMT9U6YljY86dOycdEwQBN2/elMb7+Pv7Q6vVqtoucT+hjRs3Ii8vD3l5eTh8+LD0+KlTp2Tn+/n54bfffpMdu3nzJgD5mCKRfreb/rGWLVsiLCxM9viePXswatQotG3btszvh4jKp3bt2tLt4OBgaDQaTJgwQTrm5eWF8PBwPPnkk+jYsaNFGy/bQkBAAADg3r17Fp0/cuRIBAUF4fbt2+V6XXFMkyNh+KEKw8/PT3Y/KysLgwYNQlhYGObOnQvAtuN9LCXumrx582Y88sgj+M9//iNbKt9Qbm4upk6dKjt2+fJlJCcnY+TIkVa/flBQkHQ7ODgYq1evRlxcHObMmYMzZ85YfT0iKh/Dbi8AmDt3Lvz8/ODm5obLly/j3Llz8PT0VLVd4u9Hw/Czbt06vPbaa0bjE9evX4/s7GzZVjqvv/46GjVqhHv37kkbsD6MqbFO9qbuR2SicggMDJQGAxcXF2PJkiXS7IkffvgBgH3CT/fu3bFkyRIAJXsAiYMXu3TpIqsAPf3009i4cSMyMjKQkZGB+vXrIyQkBAcOHMBnn32GhIQEqQJkjdWrVyMqKgqzZ8+Wjnl5eeGdd94p5zsjorIwFX58fHxw7tw5/PXXX7IPLGoSKz/6FeZjx45JH7p8fX0RFhaG0aNHy4KQuG/i3bt3sXjxYgAlv2v9/Pxw9uxZ6QOgPv3nm5sJa0+s/FCFIU7zBkq6ieLj443OUXKwszmDBg1Camoqrl69it69ewMAhgwZIg1sFunP1gKAf/zjH4iIiAAA/PjjjyaDj/5MMHN69eqFtLQ0zJs3r6xvgYhsyFT4EW8/bPCzkkxVfqZNmybdnjNnDsaMGYPVq1cjLS1NOp6dnY3evXujefPmsuvdv3/f6PeaSL/aw8oPUTnor39z5coVnD171ugce1R+gJKqVGBgIGJjY5GUlIS6desaTUf38/ODh4eH9D4aNmyI4OBgfPDBBwgICECNGjUwa9Ys1K9fH61bt8bhw4fRpUsXi17fXu+biIzpj/nx8vKyY0vkDMf86HQ6kx8iFy1ahPDwcOn+lStXcPr0aZPXFNczMpSRkSHdTk1NLXOblcLKD1UY+p8eTpw4Ia1Vob8IYbt27VRvlz6NRoN69epBo9HAycn4x0u/3N2gQQP07dsXqampuHPnDi5cuIDRo0eja9eu8Pb2Rp8+fWTVLiKqGPR/buvVq2e/hhgQPySJ3V7JycnIy8szOu/s2bPYtm2bdD82NtbsNRctWoRatWrJlvoAIFsX6datWw63sCLDD1UY+uFny5YtAErKyLNmzcKFCxdw+vRpTJo0yV7Ns4j4yQuAtOZGYGAgXFxc7NUkIrIxjUaD33//Hd9//720wKEjMKz8XL58GYB88VbRzp07Lb5uSkoKPv30U9kx/fCTl5dnciarPbHbiyoEnU4nGzQnLhDYvHlzaDQaNG3a1F5NK1W1atVkZWH926YGCRJR5fDoo4/auwlGDAc8i+GnWbNmeOWVVxAXF4fAwEB8/vnnOHr0qFXX1h+zuH79erzwwguyx2/dumWXMZnmsPJDFUJOTo7JsmmLFi3s0BrLff311wCAt956C4B83JKp9XuIiJQidntlZGSgqKhICj+NGjXCyy+/jO+//97icYaG9MPSiBEjZGN+gJJxQ46E4YcqBHOzBSIjI1VuiXVGjRqFW7duSesQ6Xd7ERGpSX+tNE9PT2nauv4MtFatWsme07lzZ+m2/kBuQ5cuXUJ4eDhSUlJMPu5oCx0y/FCFIIYff39/2U7K3bt3t1eTLFa7dm2pyvPf//4XrVq1wqZNm+zcKiKqavRXv9fvgtffUyw8PFy2j+CMGTOkAdDXr18vdXXoCxcuYMGCBSYfc7QFVxl+qEIQw4+3t7dskzxxa4mKonXr1jh9+jSefPJJezeFiKqgrl27AgCio6PRr18/DBw4ED169JAer169Otq3by/db9asGZo3b46BAwdCq9UabcXh6emJnTt3ShM4DAc+izNwHS38cMAzVQj64SciIgJHjhxxqFkUREQVwZYtW3D37t1SJ4ls2rQJe/fuRVhYmNHChgCwYsUK7Ny5E9988w2AksC0Y8cOk9fs2rUrTpw4gatXryI3Nxfu7u62ezPlwMoPVQjitElvb2+sW7cOzz//fKlrTxARkTF/f/+Hzo4NDQ3Fs88+K6sI6Rs7dizWr1+P6tWro3r16gCAJk2aoFmzZkbnNm7cGDVr1oQgCLJNqe2N4YcqBP3KT7169fDf//4XYWFhdm4VERGJZs2aZXRMp9P9X3t3HhXldb8B/BlANpEBUQZQRExcoxi3UlRUlkittVqNjUoaNTaeEuJuo7bGGDXBpj0xtUlErRXPqUuD1mhMFIkLqKAiYsQFFSVilEVRhh1m4P7+8PBmRvBXF5j3Zd7nc86cM3PvZfyON8TnvHPfe9GnTx/Y2dlJG9MqAcMPtQim4YeIiJRnypQpGDFihNmmrcXFxdi2bRvKy8sxfvx4Gaszx/BDLQLDDxGRstnY2ODAgQP48ccf8eqrr8LBwQFTp06FTqczu0tXCbjgmRTNaDQiMzNTur2S4YeISLkcHBzg6emJ//znPygvL1fUwa6mGH5IkUpLS3Hw4EFcunRJ2iAQgGKPsSAiop/Y2NgoNvgADD+kULNnz0ZcXFyDdtP9J4iIiJ6FRijtnHkZlJSUQKvVQq/X82sVhXjcuVdVVVVwcHCwcDVERKREz/rvNxc8U4vC4ENERM+L4YcUx/Tkc1NdunSxcCVERGSNGH5Ica5cudKgLTg4GLt27ZKhGiIisjZc8EyKk5WV1aAtOTlZhkqIiMga8coPKc6j57907txZnkKIiMgqMfyQ4hw7dgzAw8Pzhg8fjp07d8pcERERWRPe6g7e6q4kZWVlaNu2LQwGA7Kzs/HCCy/IXRIRESkUb3Unq3Ds2DEYDAZ07tyZd3cREVGzUHz4uX37Nl5//XV4eHjAyckJffr0wZkzZ6R+IQSWLVsGb29vODk5ITw8HNeuXZOxYnpaZWVlOH36NHbt2oXFixcDAMLCwh670SEREdHzUPTdXg8ePMCQIUMQEhKC/fv3o3379rh27Rrc3d2lMR9//DHWrl2LLVu2wN/fH++99x4iIiJw6dIlODo6ylg9PYmtW7di6tSpqK2tldocHBwQHR0tY1VERGTNFL3mZ/HixThx4oS0APZRQgj4+PhgwYIFWLhwIQBAr9dDp9MhLi4OkyZNeqI/h2t+5NO/f39kZGSgffv28PLywu3bt/HZZ59h8uTJcpdGREQKZ5Vrfvbu3YuBAwdi4sSJ8PT0RL9+/bBx40apPycnB/n5+QgPD5fatFotAgMDkZqa+tj3ra6uRklJidmDLO/y5cvIyMiAnZ0dLl26hPPnz6OoqIjBh4iImpWiw8+NGzewbt06dO3aFQkJCYiKisLs2bOxZcsWAEB+fj4AQKfTmf2cTqeT+hoTExMDrVYrPXx9fZvvQ1Cj6urqsHLlSgBAREQE2rVrJ3NFRESkFooOP3V1dejfvz8++ugj9OvXDzNnzsRbb72F2NjY53rfJUuWQK/XS49bt241UcX0pGJiYrB9+3bY2tpi/vz5cpdDREQqoujw4+3tjV69epm19ezZE7m5uQAALy8vAEBBQYHZmIKCAqmvMQ4ODnB1dTV7kOXk5ORg1apVAIDY2FiEhobKXBEREamJosPPkCFDGhxyefXqVfj5+QEA/P394eXlhUOHDkn9JSUlOHXqFIKCgixaKz25f/zjH6iqqkJoaChmzJghdzlERKQyig4/8+bNw8mTJ/HRRx8hOzsb27Ztw4YNG6TboDUaDebOnYtVq1Zh7969yMzMxBtvvAEfHx+MGzdO5urVy2g04vr164/tv3DhAgAgMjKSe/kQEZHFKTr8DBo0CLt378b27dvRu3dvrFy5Ep9++ikiIyOlMe+++y5mzZqFmTNnYtCgQSgrK8OBAwe4x4+MPv30U7z44ovYsGGD1Hbx4kVMmzYNN27cwNWrVwEA3bp1k6tEIiJSMUXv82Mp3OenaZlezan/zysqKgqxsbEYNmwYjh07BiEECgsL0b59e7nKJCKiFs4q9/mhlqlNmzbS88LCQgA/bUuQnJwMIQTc3Nx4ezsREcmC4YealBACBoNBer1v3z4AwL1798zGde/enet9iIhIFgw/1KTy8/NRVVUlva5f3/No+OF6HyIikgvDDz2X4uJixMfHw2g0Ani4h4+poqIiAD+Fn5CQEADA4MGDLVglERHRTxR9qjsp35IlSxAbG4vg4GD06NEDO3bsMOsvKipCbW2tFIL+/e9/4+bNmxg0aJAc5RIREfFuL4B3ez2Px63bcXR0RFVVFTp06IBXXnkFcXFxAICamhq0atXKghUSEZG14t1eJItOnTo12h4REQEAuH37thR83NzcGHyIiEh2DD/0VAoKChAbG4uysjIIIXD37l2pb9GiRdDr9dizZw+WLFnS4Gd5azsRESkBw4/KnTt3Dr///e+l/Xgak5ubi7Nnz6Kurg7Lli1DVFQUNmzYgHv37qGyshIAEB8fj1WrVsHV1RW//vWv4ePj0+B9GH6IiEgJuOBZ5caOHYvc3FxcunQJKSkpDfrXrVuHt99+GwCwbds2nD59GgBw+fJl5ObmAgC8vb3x6quvmv2ch4dHg/eytbVt6vKJiIieGq/8qFx9gElNTUVja98PHz4sPU9JScHFixcBPLyl/ebNmwAaX/fj7OzcoC0vL69JaiYiInoeDD8qZ3oAbGZmZoP++lvUAeC7776Tdm82DT9+fn5P9GfV1tY+T6lERERNguFHxUpLS812Yz548GCDMabhJysrS3qem5uL7OxsAE8Wftzd3bFx48bnKZeIiKhJcM2PitVfualnGm6ysrKwadMmszZTRqMRX3zxBQBgwIAB//PPKioq4lleRESkCAw/KvbDDz+Yva4/hwsAhg4danbV53E8PDwwduzY/zmOwYeIiJSCX3tZuWvXrmHFihUoKSlp0FcffuoXLJuGn/8v+Gi1Wun51KlTzdYNmRo+fDgAYMqUKU9dNxERUXNh+LFS+/btw7Bhw9CtWze8//77mDdvXoMx9eHnlVdeAfBwA0O9Xi8taq5nb28v7dFjZ2eH6dOnAwAGDhyIpUuXPraGL7/8El988QXWrVvXFB+JiIioSTD8WKkxY8bg2LFj0uuvvvqqwZj68BMQEAAvLy8AD6/+1C9krufh4YEOHToAAHr16oUPP/wQhw8fRkpKCtzd3R9bg6enJ6KionheGhERKQrDj0r8f197de7cGd26dQPwMPzU7+VTzzT8vPzyy3B2dkZISAjP6SIiohaJ4ccKNbafjtFoxIEDB8w2MjQNPy+99BIAID09vUH4cXJyQkBAAABg2LBhzVQ1ERGRZTD8WKHbt2832j5q1Cj07NkTTk5OSEhIkBY1+/n5ITg4GACQnJyMjIwMs5+rrKzE+++/jxMnTmDatGnNWjsREVFz463uVuj69euP7bty5QoASGdxubu7Q6vVSuHn7NmzOH/+vNnPVFRUwNHREYMHD26miomIiCyHV36sTGVlJeLj4//nuLKyMgAPv/ICgI4dO6JLly4QQsBgMJidzVV/cjsREZE1YPixIllZWQgICHiqW8vrww/w0y3vwMOFzb/97W8BAAsWLGiyGomIiOTG8KNge/bswYgRI6ST100VFBRg27ZtqKurk9oWLlzY4DZ1U/7+/g3aTMPPihUrpOejRo1CXFwcjh07hrlz5z7jJyAiIlIehh8FGzduHJKSkhAVFYXr169jzZo1qKioAABMnDgRkZGR+OCDDwAA1dXVOHLkCABg/fr1WLRokfQ+nTt3xoULF5CdnY2ioiKMGjVK6uvVq5f03NPTE9nZ2Vi5ciVmz54NJycnDB06FLa2tpb4uERERBahEab3PqtUSUkJtFot9Hq9ojbkqz8Pq2fPnrh37x7u3r2Ld999F3/5y1+kPmdnZ5SXl+PIkSMIDQ2Fp6cn8vPzodFopDHdunWTFjoDQFpaGtasWYOQkBC8+eabDDdERNQiPeu/37zyoyBCCBQWFjZor6mpwd27dwE8PLbCNK9WVFRg7dq1CA0NBQCEh4c3OETU9KsxABg0aBC2bduGt956i8GHiIhUh+FHQWbNmgWdToeDBw+atVdXV0vPDQZDg0NH58+fLz2vX6Rsihf3iIiIfsLwoyCff/45AOBPf/qTWfuj4efRfXzqd3ROTU3F2LFjpfauXbsCAMaPH98s9RIREbVE3ORQgWpqamA0GqXX9+/fl54bDAbcuHGjwc/07dsXP//5z83ajhw5gm+++Qavv/568xVLRETUwvDKjwJVV1ebHURqelZXYWEh/vvf/wIApkyZIrU3duZWhw4dMHPmTLMNC4mIiNSO4UeBampqUFxc3GifwWDAzp07ATy8CywpKQmTJk3C0qVLLVkiERFRi9Wiws/q1auh0WjMNt2rqqpCdHQ0PDw84OLiggkTJqCgoEDGKp+NwWAwe67X6//nz/zyl7/EsGHDsH37dnh6ejZneURERFajxYSftLQ0rF+/HgEBAWbt8+bNw9dff434+HgkJSXhzp07LXKBr+mVnqqqqsde+alnNBrRv3//5i6LiIjI6rSI8FNWVobIyEhs3LgR7u7uUrter8emTZvwySefIDQ0FAMGDMDmzZuRkpKCkydPyljx03vw4IHZc9NFzo8KDAzk/jxERETPqEWEn+joaIwePRrh4eFm7enp6TAYDGbtPXr0QKdOnZCamvrY96tfUGz6kJtp+Kmrq2twOzsA/OxnP8O4ceOkBc9ERET09BQffnbs2IGzZ88iJiamQV9+fj7s7e3h5uZm1q7T6ZCfn//Y94yJiYFWq5Uevr6+TV730zINPwCk4yhMr3T97ne/w+7du+Hj42PR2oiIiKyJosPPrVu3MGfOHGzduhWOjo5N9r5LliyBXq+XHrdu3Wqy935Wj37NdfXqVQAPd2zeu3cvJk2ahIkTJ8pRGhERkVVR9CaH6enpKCwsNFvYW1tbi+TkZHz22WdISEiQbgs3vfpTUFAALy+vx76vg4MDHBwcmrX2J5WQkIBvvvkGbdu2NWvPysoCAGi1WowZMwZjxoyRozwiIiKro+jwExYWhszMTLO26dOno0ePHli0aBF8fX3RqlUrHDp0CBMmTADw8Oui3NxcBAUFyVHyU9m6detjd1++d+8eADT4So+IiIiej6LDT5s2bdC7d2+zttatW8PDw0NqnzFjBubPn4+2bdvC1dUVs2bNQlBQUIOjHuRSfxBp/ZUoIQQePHiAzZs3Y+HChQ3Gu7i4oKysTHqt1WotVisREZEaKHrNz5NYs2YNfvWrX2HChAkYNmwYvLy8FHU31Jw5c9ChQwckJydj9erV8PDwwMiRI6XgExwcjA8//FAaHxwcbPbz/fr1s2i9RERE1k4jhBByFyG3kpISaLVa6PV6uLq6Ntn7VlZWSudqDR06FMePH28w5vr169DpdHBxcQEALFu2DCtWrJD6jUYj9/QhIiJqxLP++93ir/woWWJiovQ8JSWlQf/JkyfRpUsXtG7dGgkJCRg/fjxmz54t9Xt7ezP4EBERNTGGn2Zk+vVbXV1dg37T87hGjhyJXbt2wcPDA4sXL4aNjQ22bt1qkTqJiIjUhOGnGeXl5QEA/Pz8Gu3X6XSNtq9atQqFhYUICQlpttqIiIjUStF3e7V0CQkJuHnzJhwdHdGlSxdUVFRIfS4uLtJ6oEfZ2trCw8PDUmUSERGpCq/8NDM/Pz/odDpkZWUhKipKan/cVR8iIiJqXgw/FuLr64tFixZJr03X+xAREZHlMPxYkOnVHqUcr0FERKQ2DD8W1JSHsxIREdGzYfiRCfeWJCIikgfDj0x4ZhcREZE8GH4sLDY2Fi+88AL+9re/yV0KERGRKvFsLzTf2V5ERETUfHi2FxEREdETYPghIiIiVWH4ISIiIlVh+CEiIiJVYfghIiIiVWH4ISIiIlVh+CEiIiJVYfghIiIiVWH4ISIiIlVh+CEiIiJVYfghIiIiVWH4ISIiIlVh+CEiIiJVYfghIiIiVbGTuwAlEEIAAEpKSmSuhIiIiJ5U/b/b9f+OPymGHwClpaUAAF9fX5krISIioqdVWloKrVb7xOM14mnjkhWqq6vDnTt30KZNG2g0GrnLUZySkhL4+vri1q1bcHV1lbscAudEaTgfysL5UJbmnA8hBEpLS+Hj4wMbmydfycMrPwBsbGzQsWNHuctQPFdXV/6PRGE4J8rC+VAWzoeyNNd8PM0Vn3pc8ExERESqwvBDREREqmK7fPny5XIXQcpna2uLESNGwM6O35QqBedEWTgfysL5UBalzQcXPBMREZGq8GsvIiIiUhWGHyIiIlIVhh8iIiJSFYYfIiIiUhWGHxVLTk7GmDFj4OPjA41Gg6+++sqsXwiBZcuWwdvbG05OTggPD8e1a9fMxty/fx+RkZFwdXWFm5sbZsyYgbKyMkt+DKsRExODQYMGoU2bNvD09MS4ceNw5coVszFVVVWIjo6Gh4cHXFxcMGHCBBQUFJiNyc3NxejRo+Hs7AxPT0/88Y9/hNFotORHsQrr1q1DQECAtDFbUFAQ9u/fL/VzLuS1evVqaDQazJ07V2rjnFjO8uXLodFozB49evSQ+pU+Fww/KlZeXo6+ffvi888/b7T/448/xtq1axEbG4tTp06hdevWiIiIQFVVlTQmMjISFy9eRGJiIvbt24fk5GTMnDnTUh/BqiQlJSE6OhonT55EYmIiDAYDRo4cifLycmnMvHnz8PXXXyM+Ph5JSUm4c+cOxo8fL/XX1tZi9OjRqKmpQUpKCrZs2YK4uDgsW7ZMjo/UonXs2BGrV69Geno6zpw5g9DQUIwdOxYXL14EwLmQU1paGtavX4+AgACzds6JZb300kvIy8uTHsePH5f6FD8XgkgIAUDs3r1bel1XVye8vLzEX//6V6mtuLhYODg4iO3btwshhLh06ZIAINLS0qQx+/fvFxqNRty+fdtyxVupwsJCAUAkJSUJIR7+/bdq1UrEx8dLYy5fviwAiNTUVCGEEN9++62wsbER+fn50ph169YJV1dXUV1dbdkPYIXc3d3FP//5T86FjEpLS0XXrl1FYmKiGD58uJgzZ44Qgr8flvb++++Lvn37NtrXEuaCV36oUTk5OcjPz0d4eLjUptVqERgYiNTUVABAamoq3NzcMHDgQGlMeHg4bGxscOrUKYvXbG30ej0AoG3btgCA9PR0GAwGsznp0aMHOnXqZDYnffr0gU6nk8ZERESgpKREumJBT6+2thY7duxAVNSj6AAABepJREFUeXk5goKCOBcyio6OxujRo83+7gH+fsjh2rVr8PHxQZcuXRAZGYnc3FwALWMulLHVIilOfn4+AJj9h1n/ur4vPz8fnp6eZv12dnZo27atNIaeTV1dHebOnYshQ4agd+/eAB7+fdvb28PNzc1s7KNz0tic1ffR08nMzERQUBCqqqrg4uKC3bt3o1evXjh37hznQgY7duzA2bNnkZaW1qCPvx+WFRgYiLi4OHTv3h15eXn44IMPEBwcjAsXLrSIuWD4IVKg6OhoXLhwwew7dLK87t2749y5c9Dr9di5cyemTp2KpKQkuctSpVu3bmHOnDlITEyEo6Oj3OWo3qhRo6TnAQEBCAwMhJ+fH7788ks4OTnJWNmT4dde1CgvLy8AaLA6v6CgQOrz8vJCYWGhWb/RaMT9+/elMfT03nnnHezbtw9HjhxBx44dpXYvLy/U1NSguLjYbPyjc9LYnNX30dOxt7fHiy++iAEDBiAmJgZ9+/bF3//+d86FDNLT01FYWIj+/fvDzs4OdnZ2SEpKwtq1a2FnZwedTsc5kZGbmxu6deuG7OzsFvH7wfBDjfL394eXlxcOHToktZWUlODUqVMICgoCAAQFBaG4uBjp6enSmMOHD6Ourg6BgYEWr7mlE0LgnXfewe7du3H48GH4+/ub9Q8YMACtWrUym5MrV64gNzfXbE4yMzPNQmliYiJcXV3Rq1cvy3wQK1ZXV4fq6mrOhQzCwsKQmZmJc+fOSY+BAwciMjJSes45kU9ZWRmuX78Ob2/vlvH70exLqkmxSktLRUZGhsjIyBAAxCeffCIyMjLEzZs3hRBCrF69Wri5uYk9e/aI8+fPi7Fjxwp/f39RWVkpvccvfvEL0a9fP3Hq1Clx/Phx0bVrVzF58mS5PlKLFhUVJbRarTh69KjIy8uTHhUVFdKYP/zhD6JTp07i8OHD4syZMyIoKEgEBQVJ/UajUfTu3VuMHDlSnDt3Thw4cEC0b99eLFmyRI6P1KItXrxYJCUliZycHHH+/HmxePFiodFoxMGDB4UQnAslML3bSwjOiSUtWLBAHD16VOTk5IgTJ06I8PBw0a5dO1FYWCiEUP5cMPyo2JEjRwSABo+pU6cKIR7e7v7ee+8JnU4nHBwcRFhYmLhy5YrZexQVFYnJkycLFxcX4erqKqZPny5KS0tl+DQtX2NzAUBs3rxZGlNZWSnefvtt4e7uLpydncVvfvMbkZeXZ/Y+P/zwgxg1apRwcnIS7dq1EwsWLBAGg8HCn6ble/PNN4Wfn5+wt7cX7du3F2FhYVLwEYJzoQSPhh/OieW89tprwtvbW9jb24sOHTqI1157TWRnZ0v9Sp8LjRBCNP/1JSIiIiJl4JofIiIiUhWGHyIiIlIVhh8iIiJSFYYfIiIiUhWGHyIiIlIVhh8iIiJSFYYfIiIiUhWGHyIiIlIVhh8isiq1tbUYPHgwxo8fb9au1+vh6+uLP//5zzJVRkRKwR2eicjqXL16FS+//DI2btyIyMhIAMAbb7yB77//HmlpabC3t5e5QiKSE8MPEVmltWvXYvny5bh48SJOnz6NiRMnIi0tDX379pW7NCKSGcMPEVklIQRCQ0Nha2uLzMxMzJo1C0uXLpW7LCJSAIYfIrJaWVlZ6NmzJ/r06YOzZ8/Czs5O7pKISAG44JmIrNa//vUvODs7IycnBz/++KPc5RCRQvDKDxFZpZSUFAwfPhwHDx7EqlWrAADfffcdNBqNzJURkdx45YeIrE5FRQWmTZuGqKgohISEYNOmTTh9+jRiY2PlLo2IFIBXfojI6syZMwfffvstvv/+ezg7OwMA1q9fj4ULFyIzMxOdO3eWt0AikhXDDxFZlaSkJISFheHo0aMYOnSoWV9ERASMRiO//iJSOYYfIiIiUhWu+SEiIiJVYfghIiIiVWH4ISIiIlVh+CEiIiJVYfghIiIiVWH4ISIiIlVh+CEiIiJVYfghIiIiVWH4ISIiIlVh+CEiIiJVYfghIiIiVWH4ISIiIlX5Pw6tBkiOFLvxAAAAAElFTkSuQmCC",
      "text/plain": [
       "PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x32f473a10>)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "PyObject <matplotlib.text.Text object at 0x32f7e19d0>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = collect(50:1.0:500)\n",
    "\n",
    "# gaussian peaks\n",
    "p1 = 20.0 .* exp(-log(2) .* ((x-150.0)./15.0).^2)\n",
    "p2 = 100.0 .* exp(-log(2) .* ((x-250.0)./5.0).^2)\n",
    "p3 = 50.0 .* exp(-log(2) .* ((x-450.0)./1.0).^2)\n",
    "p4 = 20.0 .* exp(-log(2) .* ((x-350.0)./30.0).^2)\n",
    "p5 = 30.0 .* exp(-log(2) .* ((x-460.0)./5.0).^2)\n",
    "\n",
    "# background: a large gaussian + linear \n",
    "bkg = 60.0 .* exp(-log(2) .* ((x-250.0)./200.0).^2) + 0.1.*x\n",
    "\n",
    "#noise\n",
    "noise = 2.0 * randn!(ones(size(x,1)))\n",
    "\n",
    "#observation\n",
    "y = p1 + p2 + p3 + p4 + p5 + noise +bkg\n",
    "\n",
    "plot(x,y,\"k-\",label=\"signal\")\n",
    "legend()\n",
    "xlabel(\"X\")\n",
    "ylabel(\"Y\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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uP/++wHo27cv6enprFy5kl69el30tVOnTmXIkCFERUVx1VVXccMNNzBw4ED69etXmebXWur5ERGX0rCXSNkSEhLYuHEj9957LwBeXl7cc889zJo1y6HXt27dml27drF+/XpGjBhBSkoKAwYM4OGHH3Zms2sc9fyIiEuVt8ihwo84i3eAN+OyxrnlfSti1qxZFBQU2BU4G4aBr68v7777rkPX8PDwoGPHjnTs2JExY8bw6aef8sADDzB+/HiaNWtWofbUVgo/IuJS5Q17qeZHnMVisVR4+MnVCgoK+OSTT5gyZQq33HKL3XN33HEHn3/+OX379q3wdVu3bg1AdnZ2lbSzNlD4ERGXKq/gWT0/Upd9++23nDlzhpEjRxIaGmr33ODBg5k1a5YZfhISEkq8/qqrruLee++la9eu3HDDDURFRZGYmMi4ceO48soradmypUs+R02g8CMiLqWaH5HSzZo1i/j4+BLBB6zhZ9KkSWRkZAAwdOjQEuccPXqUPn368PnnnzNx4kTS09OJioripptu4qWXXsLLSz/ybfSVEBGXKm+RQw17SV22aNGiMp/r1KmTOd29vGnvo0aNYtSoUVXettpGs71ExKXU8yMi7ubW8LNq1SoGDBhAdHQ0FouFBQsWlDhn79693H777YSGhhIYGEjHjh05cuSI+fzZs2f585//TEREBEFBQQwePJgTJ0648mOISAWo5kdE3M2t4Sc7O5u2bdsyffr0Up//9ddf6datGy1btmTFihX8/PPPvPjii3bfNJ966ikWLVrEl19+ycqVK0lKSmLQoEGu+ggiUkHlzfYqLCwkPz/fLe0SkbrDrTU//fr1K3fVyfHjx9O/f38mTZpkHrvsssvM++np6cyaNYs5c+Zw0003AfDRRx/RqlUr1q9fT+fOnZ3XeBGplPKGvcBa9+PtXbG1UUREKqLa1vwUFRWxePFirrzySvr06UNkZCTXX3+93dDYli1byM/PJz4+3jzWsmVLYmJiWLdunTuaLSIXUdYih56engBkZma6pV0iUndU2/CTkpJCVlYWf//73+nbty8//PADd955J4MGDWLlypUAJCcn4+PjQ1hYmN1rGzZsSHJycpnXzsvLIyMjw+4mIs5nGEapNT8Wi8X8f5yWluaWtolI3VFtp7oXFRUBMHDgQJ566ikArr32WtauXcuMGTPo2bNnpa89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",
      "text/plain": [
       "PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x330031350>)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/charles/anaconda/lib/python2.7/site-packages/sklearn/preprocessing/data.py:649: DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19. Reshape your data either using X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) if it contains a single sample.\n",
      "  warnings.warn(DEPRECATION_MSG_1D, DeprecationWarning)\n",
      "/Users/charles/anaconda/lib/python2.7/site-packages/sklearn/preprocessing/data.py:649: DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19. Reshape your data either using X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) if it contains a single sample.\n",
      "  warnings.warn(DEPRECATION_MSG_1D, DeprecationWarning)\n",
      "/Users/charles/anaconda/lib/python2.7/site-packages/sklearn/preprocessing/data.py:649: DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19. Reshape your data either using X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) if it contains a single sample.\n",
      "  warnings.warn(DEPRECATION_MSG_1D, DeprecationWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "0.04424558981993092"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# We define the portions of the spectra where we want to fit the signal background.\n",
    "roi = [0 100.;200 220;280 290;420 430; 480 500]\n",
    "\n",
    "y_gcvspl, bas_gcvspl, xy_roi = baseline(x,y,roi,\"gcvspline\",p=1., roi_out = \"yes\")\n",
    "\n",
    "# for the ALS algorithm, 10^2-10^5 lambda and 0.001-0.1 p values are recommended\n",
    "y_als, bas_als = baseline(x,y,roi,\"als\",p=0.05,lambda=10^6,niter=10)\n",
    "\n",
    "# arPLS algorithm of Baek et al. 2015\n",
    "y_als, bas_als = baseline(x,y,roi,\"arPLS\",p=0.1,lambda=10.0^6)\n",
    "\n",
    "figure()\n",
    "\n",
    "# plotting the initial signal and the roi\n",
    "plot(x,y,\"black\",label=\"signal\")\n",
    "scatter(xy_roi[:,1],xy_roi[:,2],color=\"red\",label=\"roi\") # the signal used to fit the baselines\n",
    "\n",
    "# plotting the baselines\n",
    "plot(x,bas_gcvspl,\"cyan\",label=\"gcvspline\")\n",
    "plot(x,bas_als,\"purple\",label=\"ALS\")\n",
    "plot(x,bas_als,\"orange\",label=\"arPLS\")\n",
    "legend()\n",
    "\n",
    "xlabel(\"X\")\n",
    "ylabel(\"Y\")\n",
    "\n",
    "\n",
    "rmse = sqrt(sum((y - y_als).^2))./sum(y)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Julia 0.5.2",
   "language": "julia",
   "name": "julia-0.5"
  },
  "language_info": {
   "file_extension": ".jl",
   "mimetype": "application/julia",
   "name": "julia",
   "version": "0.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
